Self-routing packet switching networks such as those using banyan switching nodes communicate packets on the basis of address information contained within the packets. One such switching network is disclosed in the patent of J. S. Turner, "Fast Packet Switching System", U.S. Pat. No. 4,494,230. In the system disclosed in Turner, there is only one unique route between each input and output parity network. An advantage of the existence of only one unique route between a given input and output port of the network is that as the packets are being transmitted from the input port to the output port, it is not possible for the packets to get out of sequence. However, disadvantage of the existence of only one unique path is that temporary traffic conditions can occur where the traffic becomes extremely heavy at one particular point in the network causing delay in the communication of packets through the network. Another problem with the existence of only one unique path is that if a switch node fails within one stage, it affects a number of routes through the switching network.
One known method for alleviating the reliability and traffic congestion problems in a self-routing network is discussed in the report entitled, "Development of a Voice Funnel System", Bolt, Beranek, and Newman, Inc., Report No. 4098, August, 1979, pp. III-29 through III-76, which discloses the use of an extra stage of banyan switching nodes at the input of a self-routing network in an attempt to resolve the previously mentioned problems. The report proposes that this extra stage of switching be identical to other stages of the network and be utilized by adding an extra bit of addressing to the address field of each packet being routed through the switching network. This extra stage of switching would precede the first stage of the network. The extra address bit would be controlled by hardware or software external to the switching network and would determine the route through the switching network. The problem with this switching architecture is that if an earlier packet in a sequence becomes delayed on one route, the later packets of the sequence can arrive at the destination before the delayed packet since the later packets are traveling on the second route through the network.
Another known method for alleviating the reliability and traffic problems in self-routing networks is discussed in the U.S. Pat. No. 4,512,011 of J. S. Turner. In that Turner patent, packets are received by a packet switching system via a plurality of incoming trunks and delivered from the packet switching system by a plurality of trunks that are terminated by trunk controllers. Each switching system has a switching network consisting of two independent switching arrays each capable of routing a packet from an originating trunk controller to a destination trunk controller. Within a given array there is only one unique path between a given originating trunk controller and a given destination trunk controller. When a trunk controller receives a packet from a trunk, the trunk controller routes packets through the arrays by alternating between the arrays if both arrays are idle or choosing the idle array if one of the arrays is busy. Since in that Turner patent, each array consists of a plurality of stages each having a number of switch nodes with the switch nodes having internal buffering capacity for storing one packet, packets being transferred from the trunk controller can arrive out of sequence due to the fact that an earlier packet was delayed through one switching array while a later packet was communicated more quickly through the other array.
Still another method for resolving the reliability and traffic problems in a self-routing network is disclosed in-the application of J. S. Turner and L. F. Wyatt, U.S. Pat. No. 4,550,397 and assigned to the same assignee as this application. That application discloses a switching network that consists of routing stages and alternating stages in order to create multiple paths between any destination and originating trunk controller on the switching network. The routing stages are made up of switch nodes that are responsive to the address contained in a packet to communicate the packet to the switch node in the downstream stage designated by the address. The alternating stages comprise switch nodes that, upon receipt of a packet, alternate between communicating that packet to one of two switch nodes in the downstream stage. By interdispersing a number of alternating stages with routing stages in the first stages of the switching networks any number of multiple paths can be created through the switching network. After these initial inter-disperse stages, there are a sufficient number of routing stages to route the packet to the proper destination trunk controller. Both the alternating and routing switch nodes have the capability for buffering one packet internally. Because of the existence of multiple paths and the ability of switch nodes to buffer along these paths, packets transmitted from an originating trunk controller to a destination trunk controller can get out of sequence.
The limitation on known multipath, self-routing networks that packets traversing along different paths within the switching network can get out of order is of particular concern with respect to voice and video applications. In voice applications, the voice is normally digitized by an encoder at a low bit rate and then packetized. This results in an elapse of time from when the words are first spoken until the voice packet is transmitted. If the voice packets get out of sequence, there is not sufficient time to resequence the packets for playback before an unacceptable amount of delay has occurred from when the words were spoken until they are heard by a listener. The same is also true of applications where video information is being transmitted. A TV picture cannot be momentarily blanked out while packets are resequenced. A problem exists even with packets containing only data since the resequencing operation involves extensive use of processor and memory cycles and is not desirable.
In light of the foregoing, it is apparent that a need exists for a packet switching system having multiple paths and, yet, capable of delivering packets in sequence.